// 
//  CommandAttribute.cs
//  
//  Author:
//       Ray Shaw <demogodyou@gmail.com>
// 
//  Copyright (c) 2009 Ray Shaw(xiaolei)
// 
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
// 
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//  GNU General Public License for more details.
//  
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// 
//------------------------------------------------------------------------------
// <auto-generated>
//     此代码由工具生成。
//     运行时版本:2.0.50727.3053
//
//     对此文件的更改可能会导致不正确的行为，并且如果
//     重新生成代码，这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Reflection;

namespace SharpNote.Core
{
	/// <summary>
	/// Attribute of class CommandBase or it's dirived class.
	/// </summary>
	[AttributeUsage(AttributeTargets.All)]
	public class CommandAttribute: Attribute
	{
		private string _commandFullName = string.Empty;
		
		/// <summary>
		/// full name of the command.
		/// </summary>
		public string CommandFullName
		{
		    set{ _commandFullName = value; }
			get{ return _commandFullName; }
		}
		
		private string _commandAlias = string.Empty;
		
		/// <summary>
		/// alias name of the command. Multiple alias use ',' to seprate.
		/// </summary>
		public string CommandAlias
		{
		    set{ _commandAlias = value; }
			get{ return _commandAlias; }
		}
		
		/// <summary>
		///  Attribute of class CommandBase or it's dirived class.
		/// </summary>
		/// <param name="commandFullName">full name of the command.
		/// A <see cref="System.String"/>
		/// </param>
		/// <param name="commandAlias">alias name of the command. Multiple alias use ',' to seprate.
		/// A <see cref="System.String"/>
		/// </param>
		public CommandAttribute (string commandFullName, string commandAlias)
		{
			_commandFullName = commandFullName;
			_commandAlias = commandAlias;
		}
	}
}
